home *** CD-ROM | disk | FTP | other *** search
/ PC Media 22 / PC MEDIA CD22.iso / share / prog / rodent / 1-t.asm < prev    next >
Assembly Source File  |  1995-08-15  |  1KB  |  87 lines

  1. ; very basic program to display mouse cursor on screen in text mode
  2. .model small
  3. .stack 0100h
  4.  
  5. .data
  6. err_message     db      12 dup(10, 13)
  7.                 db      "                 A mouse drive must first be loaded in memory"
  8.                 db      10, 13
  9.                 db      "                         prior to running this program!"
  10.                 db      12 dup(10, 13)
  11.                 db      "$"
  12.  
  13. .code
  14. start:
  15.  
  16. ; initialize the mouse
  17. xor ax, ax
  18. int 33h
  19.  
  20. ; check to see if mouse is installed
  21. cmp ax,0000h
  22.  
  23. ; proceed if mouse driver loaded
  24. jnz it_lives
  25.  
  26. ; if not, then exit
  27. jmp error
  28.  
  29. ; begin mouse routine
  30. it_lives:
  31.  
  32. ; call routine to clear the screen
  33. call ts_clear
  34.  
  35. ; make mouse cursor visible on screen
  36. mov ax, 0001h
  37. int 33h
  38.  
  39. ; wait for keypress
  40. mov ah, 00h
  41. int 16h
  42.  
  43. ; hide mouse cursor
  44. mov ax, 0002h
  45. int 33h
  46.  
  47. jmp exit
  48. ; no mouse loaded so, exit with error message
  49. error:
  50. mov ax, @data
  51. mov ds, ax
  52. mov dx, offset err_message
  53. mov ah, 09h
  54. int 21h
  55.  
  56. ; terminate program
  57. exit:
  58. mov ah, 04ch
  59. int 21h
  60.  
  61. ; clear the text screen
  62. ts_clear proc near
  63.  
  64. push ax
  65. push cx
  66. push es
  67. push di
  68.  
  69. mov ax, 0b800h
  70. mov es, ax
  71. mov di, 0000h
  72. mov ax, 1700h
  73. mov cx, 0fa0h
  74. cld
  75. repz
  76. stosw
  77.  
  78. pop di
  79. pop es
  80. pop cx
  81. pop ax
  82. ret
  83. ts_clear endp
  84.  
  85. end start
  86.  
  87.